Detect local player & filter party-member level events (auto-pin via 'You have entered')#7
Draft
PrEvIeS wants to merge 1 commit intoezbooz:mainfrom
Draft
Detect local player & filter party-member level events (auto-pin via 'You have entered')#7PrEvIeS wants to merge 1 commit intoezbooz:mainfrom
PrEvIeS wants to merge 1 commit intoezbooz:mainfrom
Conversation
…vel events Tracks the local player by listening for `: You have entered <area>.` and the next level event in that window, then ignores subsequent `: <name> (<class>) is now level <n>` lines for any other character. Party joins inside an unpinned area window mark the window INVALIDATED so we don't mis-attribute a party member's level event to the local player. Setting `POE2_CHARACTER_NAME` short-circuits the state machine to PINNED on first area entry.
6 tasks
PrEvIeS
added a commit
to PrEvIeS/Path-Of-Exile-2-RPC
that referenced
this pull request
May 5, 2026
…in EN/RU/UA The 4-PR upstream campaign (panvex-b6p) is feature-complete on this stacked branch. Updates the user-facing READMEs and CLAUDE.md to reflect the four shipped capabilities: - Official PoE2 client support (Steam + PathOfExile.exe) - Owner auto-pin (party-mate disambiguation) - AFK / DND status with small-image override + restore - Background tray service + Windows Startup shortcut README.md / README.ru.md / README.ua.md - Add explicit Features bullets for all four capabilities. - Flip the To-Do checklist (now 5/5 complete). - RU/UA translations get the new "Run as a background service" section to match the English README that was added during PR-4. CLAUDE.md - Replace the four open-work items with checked-off equivalents and a pointer to the upstream draft PRs (ezbooz#6, ezbooz#7, ezbooz#8, ezbooz#9). Notes that the remaining work is the end-of-campaign Windows live-smoke pass.
5 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds a small owner-detection state machine so Discord presence stays attached to the local player when other party members are in the same instance. Currently any party member's
: <name> (<class>) is now level <n>line will overwrite the local player's presence — see README "Detect which player started the script (avoid party-conflict mis-detection)".How it works:
: You have entered <area>.(a per-client event — only the local player'sClient.txtrecords it) → open a fresh "AREA_ENTERED" window.<name> has joined the area.line fires inside that window → INVALIDATE it (we can't disambiguate the next level event).: <name> (<class>) is now level <n>afterYou have enteredbelongs to the local player → PIN that name. All subsequent level events for other names are ignored until the next area entry.POE2_CHARACTER_NAMEenv var short-circuits the state machine to PINNED on first area entry — useful if you tend to enter zones already in a party.Diff
main.py: +38 / -0. Two new compiled regexes, three module-level state vars, a few branches at the top of the line-processing loop. No new dependencies, no other files touched. Regexes are taken verbatim from klayveR/poe-log-monitorresource/events.jsonwhich has been parsing PoE1 client logs reliably for years (PoE2 inherits the same line format).Test plan
POE2_CHARACTER_NAME=MyNameset → enter zone with party already there → presence updates only onMyNamelevel events.Notes
More features in this series follow (AFK status, background tray launcher) — happy to flag intent so you can signal scope appetite before I open the next one.